In digital communications, it is sometimes useful to send data over a link in an encoded form (where the form of the coding is data compression or data encryption). For successful operation of the encoded link, it is necessary that the decoder at the receive end of the link be synchronized with the encoder at the transmit end of the link; namely, the output of the encoder must be the same as the input to the decoder. The link itself may be either a reliable link, having an error recovery scheme incorporated into the link proper, or it may be an unreliable link (usually one that possesses an inherently low error rate) in which no error recovery is built into the link.
FIG. 1, which corresponds to FIG. 1 of U.S. Pat. No. 5,130,993 to Gutman et al, diagrammatically illustrates a simplified version of a conventional reliable digital communication link 8 (such as an ITU-T Recommendation V.42-based link), having elements of procedure 13 and 17 and associated error detection components 14 and 20 (together forming the link access protocol (LAP)), coupled therewith and with communication channel 16, at end sites 6 of the reliable link servicing respective source and destination devices 10 and 24, respectively.
In the course of transmission of digital communication signals between respective link sites 6, errors may be introduced into the data from a number of sources, such as crosstalk, noise spikes or power line surges. These errors are customarily detected by providing an error detection mechanism (such as the use of a cyclic redundancy check (CRC) code) 14 in the path of the data stream through the elements of procedure 13 at the source end 10 of the link, and employing associated error detection mechanism 20 coupled with the elements of procedure 17 at the destination end 24 of the link, in order to extract error information in the transported data stream.
If a received frame contains an error, the destination site elements of procedure will forward a retransmission request over a reverse channel (not shown) to the source elements of procedure 13 associated with the source end 10 and one or more frames of data are retransmitted, as necessary, to clear the errored frame(s). Once a received frame has been verified as error-free, it is passed on to a destination terminal device in the order transmitted, so that the destination terminal device 24 will receive the error-free frames in the proper sequence.
It is often desirable to employ data compression or encryption over the channel 16, using an encoder at the transmitter and a corresponding decoder at the receiver (such as the use of V.42 bis data compression, as a non-limiting example). This has been typically done by operating the encoding--decoding pair over a reliable link (such as that shown in FIG. 1). The resulting encoded reliable link is diagrammatically illustrated at 8 in FIG. 2, which corresponds to FIG. 2 of the above-referenced U.S. Pat. No. 5,130,993, wherein an encoder 12 is installed upstream of the elements of procedure 13 adjacent to the source end 10 of the channel 16, and a decoder 22 is installed downstream of the elements of procedure 17, at the receive end 24 of the link. In this combination, the error detection mechanism is typically built with a CRC code.
Now although the incorporation of a CRC error detection mechanism into the reliable link (13-14-16-20-17) is customarily operative to detect damaged or errored frames, it suffers from the fact that it has a finite, albeit small, probability of passing a damaged frame. If such a damaged frame is not detected and retransmitted, the encoder 12 and decoder 22 will become unsynchronized. The result is that the encoded link will begin to pass undetected corrupted data from the source 10 to the destination 24 until the link is externally reset.
One proposal to obviate the above-described shortcoming of such an encoded reliable link is to re-order the elements on the link so that the LAP can correct both channel and decoder errors. This causes the encoder-decoder pair to operate on a link without error correction or detection, which is referred to as an unreliable link. In order to resynchronize the encoder-decoder pair, an additional error detection and signalling function is added between the LAP and the encoder-decoder pair. This system is diagrammatically illustrated in FIG. 3, which corresponds to FIG. 3 of the above-referenced U.S. Pat. No. 5,130,993.
In accordance with this unreliable link architecture, at the transmit or source end 10 of the unreliable link 8, error detection information 15 is added to the data downstream of the elements of procedure 13 and the error detection mechanism 14, but prior to encoder 12. The injected error detection information is subsequently extracted by means of a decoding detection unit 21 that is located downstream of the decoder 22, but upstream of the error detection unit 20 and elements of procedure 17 at the destination end 24 of the link 8, in order to determine if synchronization of the encoder-decoder pair is required.
In effect, what the above-referenced Gutman et al patent describes is an automatic method to provide the external reset necessary for the system of FIG. 2. However, the drawbacks of this method are the fact that the link access protocol is further removed from the channel, resulting in longer error recovery response times, and that the compression ratio is decreased, since the encoder is reset whenever a channel error occurs.
Another method, diagrammatically illustrated in FIG. 3A, is used in TIA/EIA-655 digital data encapsulation protocol and slightly reduces the magnitude of the above drawbacks. The scheme shown in FIG. 3A adds a subset of the reliable link elements of procedure, that of sequencing and error detection, between an encoder/decoder pair and the channel. This method also changes the method by which the encoding error detection information is added, so that the added information is not run through the encoder.
More particularly, at the transmit end of the link, shown at 6, data from a source 10 is coupled to elements of procedure 13, the output of which is coupled to error detection mechanism 14. The output of error detection mechanism 14 is then coupled in parallel to each of an encoder 120 and the calculation of encoding error detection information 150, prior to being processed in accordance with elements of procedure 130 in the signal flow path to a semi-reliable link 80. The outputs of the encoder 120 and encoding error detection information calculation block 150 are combined in a merge unit 125, to produce composite data. The composite data is then applied to the elements of procedure 130, and output therefrom to a transmitter unit 140, which introduces error detection information and transmits the data across channel 160 to the destination end of semi-reliable link 80.
At the receive end of the channel 160, an error detection receiver unit 200 receives the composite data, checks the data for errors and couples the received data to associated elements of procedure 170. The EOP 170 checks the incoming data for proper sequencing and either outputs correctly sequenced data or resets the semi-reliable link 80 if out-of-sequence data is received. Each block of composite data at the output of the elements of procedure 170 is decomposed as an encoded data block component and an associated error detection information component. The decomposed encoded data block component is coupled to a decoder 220, which decodes the encoded data block as a potentially valid output data block.
In the absence of errors, the received encoded data block is optimally decoded back into its original unencoded format as supplied by data source 10 at the transmit end of the link. The output of decoder 220 is further coupled to a decoding error detection operator 210, which calculates errors in the received data. If an error is detected, operator 210 outputs a restart request signal to the elements of procedure 170, so as to reset the decoder 220.
In addition, elements of procedure 170 cause the receiver unit 200 to transmit a message on a return channel portion of the link 80 to the EOP 130 at the transmit site, requesting that the encoder 120 and link 80 be reset. In response to this request, the encoder 120 at the transmit site is restarted and the errored data frame is lost. With each of the encoder 120 and the decoder 220 now resynchronized, the contents of the new data frames should be processed correctly at each end of the link. The output of decoder 220 is input to an error detection unit 20, which is coupled to elements of procedure 17 at the destination end 24 of the link.
One advantage of the scheme of FIG. 3A over that of FIG. 3 is the fact that the encoder-decoder pair 120/220 is connected over a `semi-reliable` link instead of a raw channel. This `semi-reliable` link causes most error events to be detected without decoding, which reduces the error handling effort, and hence time, resulting in a slightly improved error recovery response time. In addition, the compression ratio is slightly higher, since the error detection information is not run through the encoder, as error detection information tends to be uncorrelated with the data.